#include <my_header.h>

/* Usage: ./2_sigprocmask */
int main(void){                                  

    sigset_t set;
    sigemptyset(&set);
    sigaddset(&set, SIGINT);

    // 设置2号信号全程阻塞
    sigprocmask(SIG_BLOCK, &set,NULL);
    sleep(5);
    // 检查当前进程的未决信号集
    sigpending(&set);
    if(sigismember(&set, SIGINT))
    {
        printf("2号信号未决！\n");
    }
    // 解除2号信号阻塞
    sigprocmask(SIG_UNBLOCK, &set, NULL);
    return 0;
}

#if 0
通过sigprocmask阻塞2号信号，睡眠5秒后，解除阻塞，2
号信号得到执行；在睡眠后，解除阻塞之前，通过sigpending
检测是否有信号挂起。
#endif
